#pragma once


#ifndef HEADER_SM3_DIGEST_WTIH_PREPROCESS_COMPUTATION_H
#define HEADER_SM3_DIGEST_WTIH_PREPROCESS_COMPUTATION_H

#ifdef  __cplusplus
extern "C" {
#endif


    int sm3_digest_z(const unsigned char* id,
        const int id_len,
        const unsigned char* pub_key,
        unsigned char* z_digest);

    int sm3_digest_with_preprocess(const unsigned char* message,
        const int message_len,
        const unsigned char* id,
        const int id_len,
        const unsigned char* pub_key,
        unsigned char* digest);
    int GMT3kdf(unsigned char *in, int inlen, unsigned char *out, unsigned int *outlen);

#ifdef  __cplusplus
}
#endif

#endif  /* end of HEADER_SM3_DIGEST_WTIH_PREPROCESS_COMPUTATION_H */

